'use strict';

var defaultData = require('./data');

var _f = function _f() {};

Component({
  properties: {},
  options: {
    multipleSlots: true  // 在组件定义时的选项中启用多slot支持
  },
  data: Object.assign({}, defaultData, {
    key: '',
    show: false,
    showCustomBtns: false,
    promiseFunc: {}
  }),

  methods: {
    handleButtonClick: function handleButtonClick(e) {
      var _e$currentTarget = e.currentTarget,
          currentTarget = _e$currentTarget === undefined ? {} : _e$currentTarget;
      var _currentTarget$datase = currentTarget.dataset,
          dataset = _currentTarget$datase === undefined ? {} : _currentTarget$datase;

      // 获取当次弹出框的信息

      var _ref = this.data.promiseFunc || {},
          _ref$resolve = _ref.resolve,
          resolve = _ref$resolve === undefined ? _f : _ref$resolve,
          _ref$reject = _ref.reject,
          reject = _ref$reject === undefined ? _f : _ref$reject;

      // 重置展示


      this.setData({
        show: false
      });

      // 自定义按钮，全部 resolve 形式返回，根据 type 区分点击按钮
      if (this.data.showCustomBtns) {
        resolve({
          type: dataset.type
        });
        return;
      }

      // 默认按钮，确认为 resolve，取消为 reject
      if (dataset.type === 'confirm') {
        resolve({
          type: 'confirm'
        });
      } else {
        reject({
          type: 'cancel'
        });
      }
    }
  }
});